Extension Repeater Registry entry
Output a row for each value in a table of values when exporting extension data.1
A standard is defined in EMu through the creation and maintenance of two types of record in the Standards module:
Record Type |
Details |
---|---|
Term Definition |
A Term Definition record associates one or more EMu fields with a term in a standard. Multiple Term Definition records are created for each standard. |
Standard |
A Standard record groups Term Definitions into a single export format compliant with a particular standard. |
Using the EMu Scheduled Exports facility, it is then possible to export EMu data compliant with that standard. While a typical export from EMu allows data to be exported from one or more columns, data is exported as is; it cannot be manipulated, formatted or combined with other values as it is exported. When exporting to a standard it is possible to combine, manipulate and format values from two or more columns to produce a single export value.
When we define a Standards record that groups Term Definitions for a standard, Dublin Core for instance, all of the Term Definition records must use the same module (e.g. object data from ecatalogue). If it is necessary to include records from other modules in the output of data, we define another Standard record, Audubon Core for instance (grouping relevant Term Definitions from another module, e.g. multimedia data from emultimedia) and use the Extension process to combine the two (or more) standards when defining the export.
It is only possible to combine the export of two standards if a Standard Extension Registry entry defines the relationship between the two standards.
The purpose of the Extension Repeater Registry entry
When exporting to a Standard and an extension, if one of the fields in the extension is a table of values, the values in that table are exported as a single pipe-delimited value. With the Extension Repeater Registry entry, each value in the table is exported independently of the other values.
Note: The Extension Repeater Registry entry is available in EMu 9.1 onwards.
An example will clarify what is meant by this.
We want to export object data (from ecatalogue) to the Darwin Core standard with an extension of the Audubon Core standard in order to include multimedia data (from emultimedia).
Data is exported to the Darwin Core standard from five fields. The Term Definitions for these are:
- dwc:DateCreated
- dwc:DateCreatedUTC
- dwc:Identifier
- dwc:Title
- dwc:Material
Alongside this data, a pair of fields is exported from the extension. The Term Definitions for these are:
- aud:Title
- aud:ObjectIdentfier
aud:ObjectIdentfier is a table of values.
When the table includes more than one value, the values are exported together, typically separated by a pipe. In this example, aud:ObjectIdentfier holds two values and the exported XML is:
<!-- Row 1 -->
<tuple>
<atom name="dwc:DateCreated">2014-06-25</atom>
<atom name="dwc:DateCreatedUTC">2014-06-25T02:31:04.000+01:00</atom>
<atom name="dwc:Identifier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52</atom>
<atom name="dwc:Title">[Painting] Man standing in field</atom>
<atom name="dwc:Material">Canvas|Oil Paint</atom>
<table>
<!-- Row 1 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52|7c8f5f4a-63f1-11ee-8c99-0242ac120002</atom>
</tuple>
</table>
</tuple>
With the Extension Repeater Registry entry, the values in the table are exported separately. A row is added to the export file for each pair of fields in the extension:
<tuple>
<atom name="dwc:DateCreated">2014-06-25</atom>
<atom name="dwc:DateCreatedUTC">2014-06-25T02:31:04.000+01:00</atom>
<atom name="dwc:Identifier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52</atom>
<atom name="dwc:Title">[Painting] Man standing in field</atom>
<atom name="dwc:Material">Canvas|Oil Paint</atom>
<table>
<!-- Row 1 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52</atom>
</tuple>
<!-- Row 2 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">7c8f5f4a-63f1-11ee-8c99-0242ac120002</atom>
</tuple>
</table>
</tuple>
Note the replication of aud:Title.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE table
[
<!ELEMENT table (tuple)*>
<!ATTLIST table
name CDATA #REQUIRED
>
<!ELEMENT tuple (table|tuple|atom)*>
<!ATTLIST tuple
name CDATA #IMPLIED
>
<!ELEMENT atom (#PCDATA)*>
<!ATTLIST atom
name CDATA #REQUIRED
type CDATA "text"
size CDATA "short"
>
]
>
<?schema
table "Darwin Core"
text long dwc:DateCreated
text long dwc:DateCreatedUTC
text long dwc:Identifier
text long dwc:Title
text long dwc:Material
table "Audubon Core"
text long aud:Title
text long aud:ObjectIdentifier
end
end
?>
<!-- Data -->
<table>
<!-- Row 1 -->
<tuple>
<atom name="dwc:DateCreated">2014-06-25</atom>
<atom name="dwc:DateCreatedUTC">2014-06-25T02:31:04.000+01:00</atom>
<atom name="dwc:Identifier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52</atom>
<atom name="dwc:Title">[Painting] Man standing in field</atom>
<atom name="dwc:Material">Canvas|Oil Paint</atom>
<table>
<!-- Row 1 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52</atom>
</tuple>
<!-- Row 2 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">7c8f5f4a-63f1-11ee-8c99-0242ac120002</atom>
</tuple>
</table>
</tuple>
<!-- Row 2 -->
<tuple>
<atom name="dwc:DateCreated">2014-06-26</atom>
<atom name="dwc:DateCreatedUTC">2014-06-26T00:37:25.000+01:00</atom>
<atom name="dwc:Identifier">7c8f5f4a-63f1-11ee-8c99-0242ac120002</atom>
<atom name="dwc:Title">[Paintings] Landscapes with people standing in fields</atom>
<atom name="dwc:Material">Canvas|Oil Paint</atom>
<table>
<!-- Row 1 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">2d5fcbee-9f26-4e0e-ab07-4259fdeb7d52</atom>
</tuple>
<!-- Row 2 -->
<tuple>
<atom name="aud:Title">Man standing in field</atom>
<atom name="aud:ObjectIdentfier">7c8f5f4a-63f1-11ee-8c99-0242ac120002</atom>
</tuple>
</table>
</tuple>
</table>
Usage
Key | User | Group | Group |
---|---|---|---|
Key 1 | User
|
Group
|
Group
|
Key 2 | user | group | Default
|
Key 3 | Table
|
||
Key 4 | estandards
|
||
Key 5 | Extension Repeater
|
||
Key 6 | Standard name | ||
Key 7 | Extension name | ||
Value | Core Term;Extension Term |
User
|
user | Table
|
estandards
|
Extension Repeater
|
Standard name | Extension name | Core Term;Extension Term |
Group
|
group | Table
|
estandards
|
Extension Repeater
|
Standard name | Extension name | Core Term;Extension Term |
Group
|
Default
|
Table
|
|
Extension Repeater
|
Standard name |
Extension name | Core Term;Extension Term |
where:
Standard name |
is the name of a standard recorded (Record Type = Standard) in the Standards module. The name of the standard is recorded in Name: (Extract Name). |
Extension name |
is the name of another standard recorded (Record Type = Standard) in the Standards module. The name of the standard is recorded in Name: (Extract Name). |
Core Term;Extension Term |
where:
When the Core Term is matched in Extension Term (the table of values), a row is output in the XML export file. Explanation
In the Catalogue module:
A table of values in the Multimedia records lists which objects the images are attached to:
When Aududon is an extension and we export data from this table of values, four values would be exported for Object A as the table of values in Image 1 holds two records and the table of values in Image 2 holds two records:
This is why we pair Core Term with Extension Term. Matching Core Term (the object ID in this example) in Extension Term (the table of values) ensures that only data associated with a specific object is exported. By matching ID1 in the table of values, the output for Object A is:
and the output for Object B is:
|
Example
When exporting data from the Audubon Core extension, an individual row is exported for each ac:Id
which is associated with the dwc:Id
:
Key | Setting |
---|---|
Key 1 | Group |
Key 2 | Default |
Key 3 | Table |
Key 4 | estandards |
Key 5 | Extension Repeater
|
Key 6 | Darwin Core |
Key 7 | Audubon Core |
Value | dwc:Id;ac:Id |